--ripristino una polizza e relativa prenotazione

select * into p_polizze_old from p_polizze
select * into biglie_old from biglie
select * into seqbig_old from seqbig
select * into movimenti_old from movimenti
select * into biglietti_old from biglietti
select * into commissioni_dett_old from commissioni_dett

BEGIN TRANSACTION

declare @idpolizza int=6659
declare @codpren char(14)='CVC11205220016'

update p_polizze set annullata=0, data_annul=null, codop_annul=null where idpolizza=@idpolizza

update biglie set annullato=0, data_ann=null, annota='', statopren= 'F' where codpren=@codpren

update seqbig set annullato=0, data_ann=null, penale=0 where codpren=@codpren --in questo caso non servono altre condizioni per individuare la riga da aggiornare, altrimenti ssi dovrebbe 
-- fare riferimento alla esatta tratta (se andata e/o ritorno)

delete movimenti where codpren=@codpren and tipomov='NA'

update biglietti set DATA_ANNUL=null, CODAGE_ANNUL=null, COD_LOC_ANNUL=NULL, COD_OP_ANNUL=NULL, NUM_NOTA_CREDITO=NULL, GRUPPO_NOTA_CREDITO=NULL
	WHERE CODPREN=@codpren 
	
DELETE commissioni_dett WHERE CODPREN=@codpren and TIPOMOV='NA'


IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN ROLLBACK TRANSACTION END
ELSE
COMMIT TRANSACTION